0000000000000000000000000000000000000000 5d6a6bf5119bf8b4891e5d6f297da16bff4107e9 kelvin watiki <wanduruakelvinwatiki@gmail.com> 1785857863 +0300	commit (initial): Initial commit
5d6a6bf5119bf8b4891e5d6f297da16bff4107e9 54c8a58fb689c6568149d026b3c6eaad0140c1b0 kelvin watiki <wanduruakelvinwatiki@gmail.com> 1785860907 +0300	commit: Fix Family module scoping and the scoped member.update permission bug
54c8a58fb689c6568149d026b3c6eaad0140c1b0 2d40779011ff076afcc35f5c06ad3f251e746974 kelvin watiki <wanduruakelvinwatiki@gmail.com> 1785862169 +0300	commit: Fix bare hasPermission() gates blocking scoped roles, and queue job tenant binding
2d40779011ff076afcc35f5c06ad3f251e746974 1053ff4b1de6dc49770fcc38038d7159769310bd kelvin watiki <wanduruakelvinwatiki@gmail.com> 1785863336 +0300	commit: Close the two real gaps in the cell setup workflow: member assignment and weekly recurrence
1053ff4b1de6dc49770fcc38038d7159769310bd 0e53fc0f6e797203ada38dc3e46d2c0d23294e43 kelvin watiki <wanduruakelvinwatiki@gmail.com> 1785864161 +0300	commit: Fix two scoping bugs in ReportingService before building on top of it
0e53fc0f6e797203ada38dc3e46d2c0d23294e43 3d867913d79a52dc239f5dff3c19151bdf496cf5 kelvin watiki <wanduruakelvinwatiki@gmail.com> 1785922221 +0300	commit: Wire up all six Family gaps: contact info, edit/delete, communications, visitor conversion, reporting, pastoral care
3d867913d79a52dc239f5dff3c19151bdf496cf5 e6736020597571c2aef747db15519786f3644cd1 kelvin watiki <wanduruakelvinwatiki@gmail.com> 1785925824 +0300	commit: Add a structured Group leader, mirroring Family.head_member_id
e6736020597571c2aef747db15519786f3644cd1 7c0df13bd19e654aae78b8655f2532c2226da5ad kelvin watiki <wanduruakelvinwatiki@gmail.com> 1785928721 +0300	commit: Rebuild the dashboard as the home of the app, not an attendance report
7c0df13bd19e654aae78b8655f2532c2226da5ad be3b9e1f585d7764eedfaae2230dd597a62fa734 kelvin watiki <wanduruakelvinwatiki@gmail.com> 1785930010 +0300	commit: Drop the church field from login/reset, and stop the sidebar growing with page length
be3b9e1f585d7764eedfaae2230dd597a62fa734 99f8ce00b1ca5f6aed1b5d037036ffb7f82df194 kelvin watiki <wanduruakelvinwatiki@gmail.com> 1785933696 +0300	commit: Add unified member timeline, folding status history into it
99f8ce00b1ca5f6aed1b5d037036ffb7f82df194 29f201a7ac6dab69ddeb82aac77517f94cd805ac kelvin watiki <wanduruakelvinwatiki@gmail.com> 1785934804 +0300	commit: Add age/gender distribution to scoped reports
29f201a7ac6dab69ddeb82aac77517f94cd805ac c414921b7cc9f8b44b8197219e13e12c6116ae56 kelvin watiki <wanduruakelvinwatiki@gmail.com> 1785942549 +0300	commit: Add workers directory, discipleship milestones, and annual themes
c414921b7cc9f8b44b8197219e13e12c6116ae56 c414921b7cc9f8b44b8197219e13e12c6116ae56 watikikelvin <wanduruakelvinwatiki@gmail.com> 1785991419 +0300	Branch: renamed refs/heads/main to refs/heads/main
c414921b7cc9f8b44b8197219e13e12c6116ae56 6ab377fbce3d0e1f1c5b26dfc3c26edb02abe41e watikikelvin <wanduruakelvinwatiki@gmail.com> 1786041543 +0300	commit: Add reusable class types with modules, progress tracking, and PDF certificates
6ab377fbce3d0e1f1c5b26dfc3c26edb02abe41e f11ed2d13e115ca7cc4c958c76e3b9a415eb9ab3 watikikelvin <wanduruakelvinwatiki@gmail.com> 1786046828 +0300	commit: Rebrand the public website to the new Deep Faith Blue palette
f11ed2d13e115ca7cc4c958c76e3b9a415eb9ab3 86349e6791973da37736124f818beea09e8dd579 watikikelvin <wanduruakelvinwatiki@gmail.com> 1786050217 +0300	commit: Fix MySQL identifier limit and refine the class progress flow
86349e6791973da37736124f818beea09e8dd579 4598482de4efc76f56a99815b6ca2234ea372ae4 watikikelvin <wanduruakelvinwatiki@gmail.com> 1786050854 +0300	commit: Fix nav bar contrast against the hero and give Join Us a real target
4598482de4efc76f56a99815b6ca2234ea372ae4 6e25355e79202a22e8295eb7287d43f0ac7e306f watikikelvin <wanduruakelvinwatiki@gmail.com> 1786053640 +0300	commit: Add a public "Plan Your Visit" form and redesign the site footer
6e25355e79202a22e8295eb7287d43f0ac7e306f 1fa2592b2629044d7e130eb56115f5fc4289b454 watikikelvin <wanduruakelvinwatiki@gmail.com> 1786053896 +0300	commit: classes module upgrade and the web UI/UX
1fa2592b2629044d7e130eb56115f5fc4289b454 95467c77a91e5cc3f9bf230442fda58bf45ce2a7 watikikelvin <wanduruakelvinwatiki@gmail.com> 1786133555 +0300	commit: Show leaders distinctly on org units and group multi-role leaders
95467c77a91e5cc3f9bf230442fda58bf45ce2a7 6f6e2a869073d882abd51e4f40b4d0d764b3fbab watikikelvin <wanduruakelvinwatiki@gmail.com> 1786194713 +0300	commit: Move departments into Org Structure; retire Workers; tighten Group typing
6f6e2a869073d882abd51e4f40b4d0d764b3fbab 4e4f4f4f84da8d9e4db90569576647cdd3ee9a31 watikikelvin <wanduruakelvinwatiki@gmail.com> 1786194832 +0300	commit: Keep the root organization unit's name in sync with the church name
4e4f4f4f84da8d9e4db90569576647cdd3ee9a31 549be1f81f6a7246786b1a1f7490eb330faae7b9 watikikelvin <wanduruakelvinwatiki@gmail.com> 1786201171 +0300	commit: Add bounded and specific-dates recurrence; fix events expiring too early
549be1f81f6a7246786b1a1f7490eb330faae7b9 340ee1f2b3411a8b9cbe0ebb2a3736ba734f943c watikikelvin <wanduruakelvinwatiki@gmail.com> 1786208634 +0300	commit: Rebuild homepage section order and rhythm for a warmer, premium feel
340ee1f2b3411a8b9cbe0ebb2a3736ba734f943c 774ce97c115bb8c20a868a61302401d37807439f watikikelvin <wanduruakelvinwatiki@gmail.com> 1786216905 +0300	commit: Add the missing Google Maps admin field; center Service Times
774ce97c115bb8c20a868a61302401d37807439f 9f7fc6bfbde47c978322df24438d5863b29dc10f watikikelvin <wanduruakelvinwatiki@gmail.com> 1786220167 +0300	commit: Fix hero/nav legibility over bright photos; add image removal and map validation
9f7fc6bfbde47c978322df24438d5863b29dc10f 645de25a40643b2af62e77075005094f255caefe watikikelvin <wanduruakelvinwatiki@gmail.com> 1786261916 +0300	commit: Replace the admin-configurable Google Maps embed with a fixed one
645de25a40643b2af62e77075005094f255caefe 154d03bed052cfee27485f99166fc711a4d101d3 watikikelvin <wanduruakelvinwatiki@gmail.com> 1786265839 +0300	commit: Make the nav a constant compact bar; handle long church names
154d03bed052cfee27485f99166fc711a4d101d3 715426ee6f9e0f09d3ca449019f6a930f1bbe90e watikikelvin <wanduruakelvinwatiki@gmail.com> 1786269119 +0300	commit: Prevent locking the tenant out by disabling or demoting the last admin
715426ee6f9e0f09d3ca449019f6a930f1bbe90e 0305076bdca5b070f8faadf957760c28811d861d watikikelvin <wanduruakelvinwatiki@gmail.com> 1786273393 +0300	commit: Fix searchable-select silently failing everywhere it's inside a template
0305076bdca5b070f8faadf957760c28811d861d 2138769a2c4b9fed54bb536d9985856578b99458 watikikelvin <wanduruakelvinwatiki@gmail.com> 1786371288 +0300	commit: Fix removing a member leaving their portal access and roles active
2138769a2c4b9fed54bb536d9985856578b99458 f07e9edb2329ecd7129bc3954ba18eb900bab564 watikikelvin <wanduruakelvinwatiki@gmail.com> 1786371945 +0300	commit: Make queued jobs and scheduled commands actually run on shared hosting
f07e9edb2329ecd7129bc3954ba18eb900bab564 bef2d2acf7a71e23e262d25af4ed8ea2255880ea watikikelvin <wanduruakelvinwatiki@gmail.com> 1786372943 +0300	commit: Add Events edit and delete — only create/view existed before
bef2d2acf7a71e23e262d25af4ed8ea2255880ea 574eee5fb192a2690748995c8ff97815bac65cc5 watikikelvin <wanduruakelvinwatiki@gmail.com> 1786373465 +0300	commit: Add Groups delete — status could be changed but the group itself couldn't be removed
574eee5fb192a2690748995c8ff97815bac65cc5 c8fdf567579af6a518ee71dfb382458cb9380fe3 watikikelvin <wanduruakelvinwatiki@gmail.com> 1786384659 +0300	commit: Add restore path for soft-deleted Members, Families, Groups, and Events
c8fdf567579af6a518ee71dfb382458cb9380fe3 849a58ed56d1e90782a971117522752078dbc678 watikikelvin <wanduruakelvinwatiki@gmail.com> 1786385375 +0300	commit: Fix dashboard widgets to account for recurring events past their first occurrence
849a58ed56d1e90782a971117522752078dbc678 082dd0ef08bcb9b7f0cb84b7a782affd4a835678 watikikelvin <wanduruakelvinwatiki@gmail.com> 1786386173 +0300	commit: Flag SMS/WhatsApp as not-yet-connected in the Communications UI
082dd0ef08bcb9b7f0cb84b7a782affd4a835678 6ee42886506d10e03015275fbd0afc9ea076d29d watikikelvin <wanduruakelvinwatiki@gmail.com> 1786386877 +0300	commit: Build an in-app Communications inbox for members
6ee42886506d10e03015275fbd0afc9ea076d29d 5ec0ce49365f6d71cf2e8f4acccb46b33e8c5d5c watikikelvin <wanduruakelvinwatiki@gmail.com> 1786387264 +0300	commit: Replace plain-text Reports lists with real charts
5ec0ce49365f6d71cf2e8f4acccb46b33e8c5d5c c30502157601da8987498aa7996b622704a31400 watikikelvin <wanduruakelvinwatiki@gmail.com> 1786387745 +0300	commit: Add Follow-up Task edit + wire up the in_progress/cancelled statuses
c30502157601da8987498aa7996b622704a31400 8c4732106babcba98d600a54a9378c69db3d967b watikikelvin <wanduruakelvinwatiki@gmail.com> 1786388854 +0300	commit: Wire up the dead 'closed' attendance session status
8c4732106babcba98d600a54a9378c69db3d967b 860694ad767f044baf4bc5035c745a9f379386d1 watikikelvin <wanduruakelvinwatiki@gmail.com> 1786390507 +0300	commit: Add Visitor edit + fill in missing email/address/notes fields
860694ad767f044baf4bc5035c745a9f379386d1 1fc282a8426d48c7b4b10634260d2016619f96ca watikikelvin <wanduruakelvinwatiki@gmail.com> 1786391256 +0300	commit: Add Class Types delete route
1fc282a8426d48c7b4b10634260d2016619f96ca 45b28aaf8d8f8c4e94913b226bc5fc39005864d5 watikikelvin <wanduruakelvinwatiki@gmail.com> 1786391424 +0300	commit: Hide Create Family form from users without member.update
45b28aaf8d8f8c4e94913b226bc5fc39005864d5 1c8b4b6dba9862e27421a8b736436e41d205be8b watikikelvin <wanduruakelvinwatiki@gmail.com> 1786391612 +0300	commit: Document certificate PDF generation's shared-hosting requirements
1c8b4b6dba9862e27421a8b736436e41d205be8b b1260f06e995f79e8d0e98aac7b5bb10021ec305 watikikelvin <wanduruakelvinwatiki@gmail.com> 1786392560 +0300	commit: Guard against manually opening a duplicate attendance session
b1260f06e995f79e8d0e98aac7b5bb10021ec305 11f0515faa5bb4152d0a5a6f3b4e70b17fbb971b watikikelvin <wanduruakelvinwatiki@gmail.com> 1786392604 +0300	commit: Document why Organization Units have no delete route
11f0515faa5bb4152d0a5a6f3b4e70b17fbb971b ffcd842be97a2a40101c70be6e3a4d38c5033986 watikikelvin <wanduruakelvinwatiki@gmail.com> 1786394465 +0300	commit: Rate-limit account-security admin actions
ffcd842be97a2a40101c70be6e3a4d38c5033986 e046bac4dff38784126c054b1e666e46c7552508 watikikelvin <wanduruakelvinwatiki@gmail.com> 1786425140 +0300	commit: Add custom 404/403/419/500 error pages
e046bac4dff38784126c054b1e666e46c7552508 4ec55bb6c07063b0eeeaebe3dd35dbb2f0ea74bc watikikelvin <wanduruakelvinwatiki@gmail.com> 1786425499 +0300	commit: Add write-path coverage for LeadershipAssignment update/reactivate
4ec55bb6c07063b0eeeaebe3dd35dbb2f0ea74bc 3ed6f78d5327ac57eb39668f85db34b77aacf4a5 watikikelvin <wanduruakelvinwatiki@gmail.com> 1786425924 +0300	commit: Add test coverage for previously-untested controllers; fix a scoping bug found along the way
3ed6f78d5327ac57eb39668f85db34b77aacf4a5 43a455167539e0a22af35ffef63c8fd47deba1b4 watikikelvin <wanduruakelvinwatiki@gmail.com> 1786426369 +0300	commit: Fix 500 error sending a Communication (TypeError: null passed where bool expected)
43a455167539e0a22af35ffef63c8fd47deba1b4 9df4ce4dc8f8bc6127c2e856063f9755412ef2a9 watikikelvin <wanduruakelvinwatiki@gmail.com> 1786431836 +0300	commit: Fix Communication visibility, exempt in-app from consent, and show real addresses
9df4ce4dc8f8bc6127c2e856063f9755412ef2a9 24490012edc8cc16b9417b8524f687fec4120841 watikikelvin <wanduruakelvinwatiki@gmail.com> 1786436082 +0300	commit: Auto-assign new members to the church's root organization unit
24490012edc8cc16b9417b8524f687fec4120841 968e072369a82499e6696c24f139db7757d3a643 watikikelvin <wanduruakelvinwatiki@gmail.com> 1786437193 +0300	commit: Add Event description field; clarify Start/End vs recurrence dates
968e072369a82499e6696c24f139db7757d3a643 2de2bef163623f107b93b3df73db8086ac12cf9a watikikelvin <wanduruakelvinwatiki@gmail.com> 1786438733 +0300	commit: Move Create/Add forms from the bottom of index pages to a top toggle
2de2bef163623f107b93b3df73db8086ac12cf9a 42451a48b541992a7400930f8df765d4eac4e8da watikikelvin <wanduruakelvinwatiki@gmail.com> 1786443582 +0300	commit: Fix duplicate automation events and redesign the confusing Follow-up form
42451a48b541992a7400930f8df765d4eac4e8da 73ab6b601ac0bd9cc04447b396004efe34d4eba7 watikikelvin <wanduruakelvinwatiki@gmail.com> 1786544175 +0300	commit: fixes and ui/ux
73ab6b601ac0bd9cc04447b396004efe34d4eba7 e715922f343c0780ee7ca6185efa927dcd9f8d0c watikikelvin <wanduruakelvinwatiki@gmail.com> 1787076590 +0300	commit: self-registration, the Giving module, backups, consent/privacy policy
e715922f343c0780ee7ca6185efa927dcd9f8d0c dc35471afc0611cf71da18d04df8791107eb23a4 watikikelvin <wanduruakelvinwatiki@gmail.com> 1787199176 +0300	commit: System patches: make leader, delete org, unit, FAQs, etc
dc35471afc0611cf71da18d04df8791107eb23a4 7713caf520f4569e31ef40c6adb08925c6e5b73a watikikelvin <wanduruakelvinwatiki@gmail.com> 1787202605 +0300	commit: Certificate patches
7713caf520f4569e31ef40c6adb08925c6e5b73a 062be19dd1db4b73fe5098b7ed4b563e525a2554 watikikelvin <wanduruakelvinwatiki@gmail.com> 1788361500 +0300	commit: final push
